﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using underwater.Processes;

namespace underwater.OS
{
    static class InitProcess
    {
        
        public static void InitBuble(Process proc)
        {
            proc.ProcessType = OpSys.ProcessTypes.Bubble; // установили тип
            int cur = OpSys.rand.Next(30,40);
            proc.position.X = OpSys.rand.Next(OpSys.WorldWidth);
            proc.position.Y = OpSys.DnoBegin - 10;
            proc.position.Width = Convert.ToInt32(Loader.Textures[TextureEnum.Bubble].Width / cur);
            proc.position.Height = Convert.ToInt32(Loader.Textures[TextureEnum.Bubble].Height / cur);
            proc.state = true;
            proc.CheckCollision = false;
        }

        public static void InitCloud(Process proc)
        {
            proc.ProcessType = OpSys.ProcessTypes.Cloud; // установили тип
            int cur = OpSys.rand.Next(4, 8);
            proc.position.X = OpSys.rand.Next(OpSys.WorldWidth - 20,OpSys.WorldWidth);
            proc.position.Y = OpSys.rand.Next(-10,120); 
            proc.position.Width = Convert.ToInt32(Loader.Textures[TextureEnum.Cloud1].Width / cur);
            proc.position.Height = Convert.ToInt32(Loader.Textures[TextureEnum.Cloud1].Height / cur);
            proc.state = true;
            proc.CheckCollision = false;
        }

        public static void InitWeed(Process proc)
        {
        }

        public static void InitSmallFish(Process proc)
        {
        }

        public static void InitShark(Process proc)
        {
            proc.ProcessType = OpSys.ProcessTypes.Shark;
            proc.Wframe = 170;
            proc.Hframe = Loader.Textures[TextureEnum.SharkSwem].Height;
            proc.position.Height = (int)(proc.Hframe * 1.4);
            proc.position.Width = (int)(proc.Wframe * 1.5) + 40;
            proc.position.X = OpSys.rand.Next(proc.Wframe, OpSys.WorldWidth - proc.Wframe);
            proc.position.Y = OpSys.rand.Next(OpSys.WaterBegin + proc.Hframe + 250, OpSys.DnoBegin - proc.Hframe - 100);// Что бы не появлялись над самой поверхностью       
            proc.timeForFrame = 165;
            proc.state = true;
            proc.CheckCollision = true;
            proc.Frames = 8;
            proc.course = -1;
            proc.CheckCollision = true;
        }

        public static void InitVioletFish(Process proc)
        {
            proc.ProcessType = OpSys.ProcessTypes.VioletFish;
            proc.Wframe = 135;
            proc.Hframe = Loader.Textures[TextureEnum.VioletFish].Height;
            proc.position.Height = (int)(proc.Hframe*0.7);
            proc.position.Width = (int)(proc.Wframe * 0.7);
            proc.position.X = OpSys.rand.Next(proc.Wframe, OpSys.WorldWidth - proc.Wframe);
            proc.position.Y = OpSys.rand.Next(OpSys.WaterBegin + proc.Hframe + 250, OpSys.DnoBegin - proc.Hframe - 100);// Что бы не появлялись над самой поверхностью       
            proc.timeForFrame = 165;
            proc.state = true;
            proc.CheckCollision = true;
            proc.Frames = 8;
            proc.course = -1;
        }

        public static void InitTurquoiseFish(Process proc)
        {
            proc.ProcessType = OpSys.ProcessTypes.TurquoiseFish;
            proc.Wframe = 100;
            proc.Hframe = Loader.Textures[TextureEnum.TurquoiseFish].Height;
            proc.position.Height = (int)(proc.Hframe);
            proc.position.Width = (int)(proc.Wframe);
            proc.position.X = OpSys.rand.Next(proc.Wframe, OpSys.WorldWidth - proc.Wframe);
            proc.position.Y = OpSys.rand.Next(OpSys.WaterBegin + proc.Hframe + 250, OpSys.DnoBegin - proc.Hframe - 100);// Что бы не появлялись над самой поверхностью       
            proc.timeForFrame = 165;
            proc.state = true;
            proc.CheckCollision = true;
            proc.Frames = 8;
            proc.course = -1;
        }

        public static void InitSkeleton(Process proc)
        {
        }
    }
}
